package com.turnengine.client.local.setup.interfaces;

import com.turnengine.client.local.faction.bean.IFaction;
import com.turnengine.client.local.group.bean.IGroup;
import com.turnengine.client.local.score.interfaces.IScoreSet;
import com.turnengine.client.local.unit.bean.IUnit;
import com.turnengine.client.local.unit.interfaces.IUnitIdContainer;
import com.turnengine.client.local.upkeep.bean.IUpkeep;
import java.util.List;

/**
 * The I Static Setup.
 */
public interface IStaticSetup {

	IUnit getUnit(int id);

	IUnit getUnit(IUnitIdContainer container);

	IUnit getUnit(String name);

	List<IUnit> getUnitList();

	IGroup getGroup(int id);

	IGroup getGroup(String name);

	List<IGroup> getGroupList();

	IGroup getGroup(IUnit unit);

	IFaction getFaction(int id);

	IFaction getFaction(String id);

	List<IFaction> getFactionList();

	IFaction getFaction(IUnit unit);

	IFaction getFaction(IGroup group);

	List<IUnit> getUnitList(IGroup group);

	List<IUnit> getUnitList(IFaction faction);

	List<IGroup> getGroupList(IFaction faction);

	IScoreSet getScoreSet(IUnit unit);

	IUpkeep getUpkeep(IUnit unit);

	IUpkeep getUpkeep(int unitId);

	List<IUpkeep> getUpkeepList();
}
